VM (operating system)

z/VM

Teddy bear - VM's mascot since 1983.
Company / developer IBM
OS family VM family
Working state Current
Source model Closed source
Initial release 1972
Latest stable release IBM z/VM V6.1 / July 22, 2010
Supported platforms System/370, System/390, zSeries, IBM_zEnterprise_System
License Proprietary
Official website www.vm.ibm.com
History of IBM mainframe
operating systems

On early mainframe computers:

On S/360 and successors:

VM (often: VM/CMS) refers to a family of IBM virtual machine operating systems used on IBM mainframes System/370, System/390, zSeries, System z and compatible systems, including the Hercules emulator for personal computers. The first version, released in 1972, was VM/370, or officially Virtual Machine Facility/370. This was a System/370 reimplementation of earlier CP/CMS operating system. Milestone versions included VM/SP.[1] The current version is z/VM, and is still widely used as one of the main full virtualization solutions for the mainframe market.

VM's differences with other IBM mainframe operating systems are primarily due to the unique circumstances in which CP/CMS was built and distributed.

Contents

Overview

The heart of the VM architecture is a control program or hypervisor called VM-CP (usually: CP; sometimes, ambiguously: VM). It runs on the physical hardware, and creates the virtual machine environment. VM-CP provides full virtualization of the physical machine – including all I/O and other privileged operations. It performs the system's resource-sharing, including device management, dispatching, virtual storage management, and other traditional operating system tasks. Each VM user is provided with a separate virtual machine having its own address space, virtual devices, etc., and which is capable of running any software that could be run on a stand-alone machine. A given VM mainframe typically runs hundreds or thousands of virtual machine instances. VM-CP began life as CP-370, a reimplementation of CP-67, itself a reimplementation of CP-40.

Running within each virtual machine is another, "guest" operating system. This might be:

Hypervisor interface

At one time, CMS was capable of running on a bare machine, as a true operating system (though of course nobody would do this). It now only runs as a guest OS under VM. This is because CMS relies on a hypervisor interface to VM-CP, to perform file system operations and request other VM services. This paravirtualization interface:

Note that the term "hypervisor" was probably coined during IBM's implementation of VM/370, when it was used to refer to the virtual DIAG handler.

History

The early history of VM is described in the articles CP/CMS and History of CP/CMS. VM/370 was a reimplementation of CP/CMS, and was made available in 1972 as part of IBM's "System/370 Advanced Function" announcement (which added virtual memory hardware and operating systems to the System/370 series). Early releases of VM continued in open source, and today are considered to be in the public domain. This policy ended in the mid 80s, when VM became a "For-charge Licensed System Product".

VM remained an important platform within IBM, used for operating system development and time-sharing use; but for customers it remained IBM's "other operating system". The OS and DOS families remained IBM's strategic products, and customers were not encouraged to run VM. Those that did formed close working relationships, continuing the community-support model of early CP/CMS users. In the meantime, the system struggled with political infighting within IBM over what resources should be available to the project, as compared with other IBM efforts. A basic "problem" with the system was seen at IBM's field sales level: VM/CMS demonstrably reduced the amount of hardware needed to support a given number of time-sharing users. IBM was, after all, in the business of selling computer systems.

Melinda Varian provides this fascinating quote, illustrating VM's unexpected success:

The marketing forecasts for VM/370 predicted that no more than one 168 would ever run VM during the entire life of the product. In fact, the first 168 delivered to a customer ran only CP and CMS. Ten years later, ten percent of the large processors being shipped from Poughkeepsie would be destined to run VM, as would a very substantial portion of the mid-range machines that were built in Endicott. Before fifteen years had passed, there would be more VM licenses than MVS licenses.[3]

VM's role changed within IBM when hardware evolution led to significant changes in processor architecture. Backward compatibility remained a cornerstone of the IBM mainframe family, which still used the basic instruction set introduced with the original System/360; but the need for efficient use of the 64-bit zSeries made the VM approach much more attractive. VM was also useful when running mainframe AIX and Linux, platforms that were to become increasingly important. The current z/VM platform has finally achieved the recognition within IBM that VM users long felt it deserved. Some z/VM sites run thousands of simultaneous virtual machine users on a single system. z/VM was first released in October 2000[4] and remains in active use and development.

IBM and third parties have offered many applications and tools that run under VM. Examples include RAMIS, FOCUS, SPSS, NOMAD, DB2, REXX, RACF, and OfficeVision. Current VM offerings run the gamut of mainframe applications, including HTTP servers, database managers, analysis tools, engineering packages, and financial systems.

VM mascot

In the early 1980s, the VM group within SHARE (the IBM user group) sought a mascot or logo for the community to adopt. This was in part a response to IBM's MVS users selecting the turkey as a mascot (hilariously chosen, according to legend, by the MVS Performance Group in the early days of MVS, when its performance was a sore topic). In 1983, the teddy bear became VM's de facto mascot at SHARE 60, when teddy bear stickers were attached to the nametags of "cuddlier oldtimers" to flag them for newcomers as "friendly if approached". The bears were a hit and soon appeared widely.[5] Bears were awarded to inductees of the "Order of the Knights of VM", individuals who made "useful contributions" to the community.[6][7]

Notes

  1. ^ "VM/SP Announced 1980/02/11, GA 1980/12/12" Elliott, Jim (2004-08-17). "The Evolution of IBM Mainframes and VM" (PDF). SHARE Session 9140. http://www.linuxvm.org/Present/SHARE103/S9140jea.pdf. Retrieved 2007-10-21. 
  2. ^ Creasy, op. cit., p. 483 — role of RSCS.
  3. ^ Varian, op. cit., p. 30 – extent of VM use; more VM licenses than MVS licenses
  4. ^ www.vm.ibm.com – release history
  5. ^ www.vm.ibm.com – VM bear images on an IBM site, contributed by VM developer Pam Christina
  6. ^ Varian, op. cit., p. 2 – the teddy bear story
  7. ^ ppewww.ph.gla.ac.uk – another version of the bear origin story, by physicist Alan Flavell, with an image

References

VM sources

Primary CP/CMS sources

  • R. J. Creasy, "The origin of the VM/370 time-sharing system", IBM Journal of Research & Development, Vol. 25, No. 5 (September 1981), pp. 483–90, PDF
    ― perspective on CP/CMS and VM history by the CP-40 project lead, also a CTSS author
  • E.W. Pugh, L.R. Johnson, and John H. Palmer, IBM's 360 and early 370 systems, MIT Press, Cambridge MA and London, ISBN 0-262-16123-0
    ― extensive (819 pp.) treatment of IBM's offerings during this period; the limited coverage of CP/CMS in such a definitive work is telling
  • Melinda Varian, VM and the VM community, past present, and future, SHARE 89 Sessions 9059–61, 1997; PDF
    ― an outstanding source for CP/CMS and VM history

Additional CP/CMS sources

  • R. J. Adair, R. U. Bayles, L. W. Comeau, and R. J. Creasy, A Virtual Machine System for the 360/40, IBM Corporation, Cambridge Scientific Center Report No. 320‐2007 (May 1966)
    ― a seminal paper describing implementation of the virtual machine concept, with descriptions of the customized CSC S/360-40 and the CP-40 design
  • International Business Machines Corporation, CP-67/CMS, Program 360D-05.2.005, IBM Program Information Department (June 1969)
    ― IBM's reference manual
  • R. A. Meyer and L. H. Seawright, "A virtual machine time-sharing system," IBM Systems Journal, Vol. 9, No. 3, pp. 199–218 (September 1970)
    ― describes the CP-67/CMS system, outlining features and applications
  • R. P. Parmelee, T. I. Peterson, C. C. Tillman, and D. J. Hatfield, "Virtual storage and virtual machine concepts," IBM Systems Journal, Vol. 11, No. 2 (June 1972)

Background CP/CMS sources

  • F. J. Corbató, et al., The Compatible Time-Sharing System, A Programmer’s Guide, M.I.T. Press, 1963
  • F. J. Corbató, M. Merwin-Daggett, and R. C. Daley, "An Experimental Time-sharing System," Proc. Spring Joint Computer Conference (AFIPS) 21, pp. 335–44 (1962) — description of CTSS
  • F. J. Corbató and V. A. Vyssotsky, "Introduction and Overview of the MULTICS System", Proc. Fall Joint Computer Conference (AFIPS) 27, pp. 185–96 (1965)
  • P. J. Denning, "Virtual Memory", Computing Surveys Vol. 2, pp. 153–89 (1970)
  • J. B. Dennis, "Segmentation and the Design of Multi-Programmed Computer Systems," JACM Vol. 12, pp. 589–602 (1965)
    ― virtual memory requirements for Project MAC, destined for GE 645
  • C. A. R. Hoare and R. H. Perrott, Eds., Operating Systems Techniques, Academic Press, Inc., New York (1972)
  • T. Kilburn, D. B. G. Edwards, M. J. Lanigan, and F. H. Sumner, "One-Level Storage System", IRE Trans. Electron. Computers EC-11, pp. 223–35 (1962)
    ― Manchester/Ferranti Atlas
  • R. A. Nelson, "Mapping Devices and the M44 Data Processing System," Research Report RC 1303, IBM Thomas J. Watson Research Center (1964)
    ― about the IBM M44/44X
  • R. P. Parmelee, T. I. Peterson, C. C. Tillman, and D. J. Hatfield, "Virtual Storage and Virtual Machine Concepts", IBM Systems Journal, Vol. 11, pp. 99–130 (1972)

Additional on-line CP/CMS resources

External links

CP/CMS family relationships

    → derivation    >> strong influence    > some influence/precedence

 CTSS 
> IBM M44/44X
>> CP-40/CMSCP[-67]/CMS  VM/370 → VM/XA versions → VM/ESAz/VM
VP/CSS
> TSS/360
> TSO for OS/MVT → for OS/VS2 → for MVS → ... → for z/OS
>> MULTICS and most other time-sharing platforms

This simplified framework provides links to major time-sharing systems that influenced or were influenced by CP/CMS. Many other important systems emerged during this period; cf. Manchester/Ferranti Atlas, Burroughs, Control Data Corporation, DEC, and Honeywell for examples. Also see time-sharing system evolution.